草庐IT

Python mysql 不提交

全部标签

git - rebase merge 提交

假设我的Git存储库最初有两个分支:Foo和Bar。...─Foo...─Bar我创建了第三个分支FooBar,我在其中提交了其他两个分支的merge。...─Foo──┐FooBar...─Bar──┘FooBar现在是Foo和Bar之前的一次提交。接下来,我做了更多工作,仅在Foo上提交了几次。...──A───┬──B──C──D──FooFooBar...─Bar──┘问题是:由于分支FooBar的第一个父级不再是Foo,我能否将分支FooBar中的merge提交rebase以再次将Foo和Bar作为其两个父级?换句话说,我可以将Foo中的开发连同未更改的Bar一起merge到

GIT:如何在不覆盖当前提交的情况下 check out 上一次提交的文件?

之前的几次提交我有一些javascript以一种方式工作。在几次提交的过程中,我现在让它以另一种方式工作。我想查看该文件,因为它是几次提交之前的文件,因为我可能想在新的javascript中使用它的各个方面。但是我不想将我当前的文件恢复到原来的样子。我只想直接打开旧文件,四处看看,也许可以将其中的一些代码复制并粘贴到新文件中。如何在不覆盖最新版本的情况下从以前的提交中检索文件的副本? 最佳答案 只需将gitshow的输出重定向到一个文件即可。gitshow*SHA-of-old-commit*:*filename*>newfilen

GIT:如何在不覆盖当前提交的情况下 check out 上一次提交的文件?

之前的几次提交我有一些javascript以一种方式工作。在几次提交的过程中,我现在让它以另一种方式工作。我想查看该文件,因为它是几次提交之前的文件,因为我可能想在新的javascript中使用它的各个方面。但是我不想将我当前的文件恢复到原来的样子。我只想直接打开旧文件,四处看看,也许可以将其中的一些代码复制并粘贴到新文件中。如何在不覆盖最新版本的情况下从以前的提交中检索文件的副本? 最佳答案 只需将gitshow的输出重定向到一个文件即可。gitshow*SHA-of-old-commit*:*filename*>newfilen

windows - Git 不会还原或提交它认为已修改的文件

我已经按照thistutorial将SVN存储库转换为Git.现在似乎无法像thisanswer中建议的那样提取子存储库.请原谅这篇长文章,但大部分文本都是格式良好的git输出。操作系统:Windows8命令行:MinGWGit版本:1.8.1.msysgit.1除非您有一个干净的临时区域并且没有修改过的文件,否则提取子存储库的过程似乎不起作用。gitstatus告诉我我有一个修改过的文件,即使这是一个新的SVN导入。好的,让我们尝试摆脱它。尝试还原文件。user$gitstatus#Onbranchmaster#Changesnotstagedforcommit:#(use"gita

windows - Git 不会还原或提交它认为已修改的文件

我已经按照thistutorial将SVN存储库转换为Git.现在似乎无法像thisanswer中建议的那样提取子存储库.请原谅这篇长文章,但大部分文本都是格式良好的git输出。操作系统:Windows8命令行:MinGWGit版本:1.8.1.msysgit.1除非您有一个干净的临时区域并且没有修改过的文件,否则提取子存储库的过程似乎不起作用。gitstatus告诉我我有一个修改过的文件,即使这是一个新的SVN导入。好的,让我们尝试摆脱它。尝试还原文件。user$gitstatus#Onbranchmaster#Changesnotstagedforcommit:#(use"gita

git - 在原始分支中压缩提交后如何 rebase ?

我有A--B--Cmaster\Dbranch0然后我将B和C压缩成B'。我如何rebasebranch0使其看起来像这样:A--B'master\Dbranch0 最佳答案 使用--ontogitrebase的参数,它改变了git重放工作的基线。gitcheckoutbranch0在这种状态下,您应该仍然在git历史记录中看到C。gitrebase--ontoB'C这转化为:获取自提交C以来我当前分支中的所有提交(在您的情况下只是D)并在B'您还可以使用可选的一次执行checkout和rebase的参数:gitrebase--on

git - 在原始分支中压缩提交后如何 rebase ?

我有A--B--Cmaster\Dbranch0然后我将B和C压缩成B'。我如何rebasebranch0使其看起来像这样:A--B'master\Dbranch0 最佳答案 使用--ontogitrebase的参数,它改变了git重放工作的基线。gitcheckoutbranch0在这种状态下,您应该仍然在git历史记录中看到C。gitrebase--ontoB'C这转化为:获取自提交C以来我当前分支中的所有提交(在您的情况下只是D)并在B'您还可以使用可选的一次执行checkout和rebase的参数:gitrebase--on

git - 创建提交以用另一个覆盖当前分支内容

我想创建一个提交,使当前分支的内容与另一个分支相同(并且隐式同步)。这实际上等同于将另一个分支的checkout内容复制粘贴到当前分支之上,然后一次性提交所有内容。 最佳答案 $gitreset--hard$gitreset--softHEAD@{1}$gitcommit第一次(硬)重置将另一个分支的内容抓取到您的工作目录中。第二次(软)重置将您的提交指针放回原始分支的顶端,但根本不会更改索引中的文件,从而将它们保留在另一个分支中。然后,您可以在当前分支的最新提交之上提交该状态。 关于g

git - 创建提交以用另一个覆盖当前分支内容

我想创建一个提交,使当前分支的内容与另一个分支相同(并且隐式同步)。这实际上等同于将另一个分支的checkout内容复制粘贴到当前分支之上,然后一次性提交所有内容。 最佳答案 $gitreset--hard$gitreset--softHEAD@{1}$gitcommit第一次(硬)重置将另一个分支的内容抓取到您的工作目录中。第二次(软)重置将您的提交指针放回原始分支的顶端,但根本不会更改索引中的文件,从而将它们保留在另一个分支中。然后,您可以在当前分支的最新提交之上提交该状态。 关于g

git - 根据哈希值,找出是否在另一个提交之前或之后 checkin 了 git 提交

我怀念使用svn的一件事是修订号的简单编号。我可以很容易地看到部署在测试环境中的版本是在某个提交之前还是之后。在git对其提交使用哈希的情况下,有什么方法可以判断一次提交是在另一次提交之前还是之后进行的? 最佳答案 正如您所注意到的,在Git中事情并不那么简单。特别是,“之前”和“之后”的定义需要更多澄清。如果您相信提交到您的存储库的人不会弄乱时间戳,并且您已经知道两个提交都在同一个分支上,您可以比较提交的时间戳,看看哪个更早。对每次提交使用以下命令,并比较结果。gitlog-1--format='%ci'但是,使用Git时,您不一